/**
 * @file Arme.h
 * Definit les caracteristiques des armes.
 */
#ifndef _OBJET_H
#define _OBJET_H
#include <iostream>

/**
* /struct Structure arme
*/
struct arme
{
    int id; ///@param id entier identifiant de l'arme par un numéro
    int degat; ///@param degat entier nombre de degats infligés par coup
    bool debloque; ///@param debloque booléen 1 si debloqué 0 sinon
};

/**
@brief création d'une arme
@param entiers id degat, booléen debloque
@return pointeur sur arme
*/
arme* creerArme(int id, int degat, bool debloque);

/**
@brief initialisation d'une arme
@param arme* a, entiers id degat, booléen debloque
@return none
*/
void initArme(arme* a, int id, int degat, bool debloque);

/**
@brief suppression d'une arme
@param arme* a
@return none
*/
void supprimeArme(arme* a);

/**
@brief affichage d'une arme
@param arme* a
@return none
*/
void afficheArme(arme* a);

/**
@brief recupère de l'identifiant de l'arme
@param arme* a
@return entier
*/
int armeGetId(arme* a);

/**
@brief recupère du nombre de degats d'une arme
@param arme* a
@return entier
*/
int armeGetDegat(arme* a);

/**
@brief recupère un booléen qui determine si l'arme est disponible ou non
@param arme* a
@return booléen
*/
bool armeGetDebloque(arme* a);

/**
@brief modifie l'identifiant de l'arme
@param arme* a, entier id
@return none
*/
void armeSetId(arme* a,int id);

/**
@brief modifie le nombre de degats de l'arme
@param arme* a, entier degat
@return none
*/
void armesetDegat(arme* a,int degat);

/**
@brief modifie le bloquage de l'arme
@param arme* a, booléen debloque
@return none
*/
void armeSetDebloque(arme* a,bool debloque);

#endif
